<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>JSON Web Token</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/JSON_Web_Token"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-JSON_Web_Token rootpage-JSON_Web_Token skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">JSON Web Token</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p>Ein <b>JSON Web Token</b> (<b>JWT</b>, vorgeschlagene <a href="Liste_der_IPA-Zeichen" title="Liste der IPA-Zeichen">Aussprache</a> [<style data-mw-deduplicate="TemplateStyles:r227981795">
/* start https://de.wikipedia.org/ */
.mw-parser-output .IPA a{text-decoration:none}
/* end https://de.wikipedia.org/ */
</style><span class="IPA IPAtext" title="Aussprache im Internationalen Phonetischen Alphabet (IPA)">dʒɒt</span>]) basiert auf <a href="JavaScript_Object_Notation" class="mw-redirect" title="JavaScript Object Notation">JSON</a> und ist in RFC 7519<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> beschrieben. Das JWT ermöglicht den Austausch von verifizierbaren Claims. Es wird typischerweise verwendet, um in einem System mit einem <a href="Drittanbieter" title="Drittanbieter">Drittanbieter</a> die Identität eines Benutzers zwischen einem <a href="Authentifizierung#Authentifizierung_als_IT-Dienst" title="Authentifizierung">Identity-Provider</a> und einem Service-Provider auszutauschen. JWT eignen sich vor allem zur Implementierung von „Stateless Sessions“, da sämtliche authentifizierungsrelevanten Informationen im Token übertragen werden können und die <a href="Sitzung_(Informatik)" title="Sitzung (Informatik)">Sitzung</a> nicht zusätzlich auf einem Server gespeichert werden muss.
</p>
<div class="mw-heading mw-heading2"><h2 id="Aufbau">Aufbau</h2></div>
<p>Ein JWT besteht aus drei Teilen: dem <a href="Header" title="Header">Header</a>, <a href="Nutzdaten" title="Nutzdaten">Payload</a> und der <a href="Digitale_Signatur" title="Digitale Signatur">Signatur</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Header">Header</h3></div>
<p>Der <i>Header</i> ist ein JSON-Element, welches beschreibt, um welchen Token-Typ es sich handelt und welche Signaturmethode zum Einsatz kommt.
</p>
<table class="wikitable">
<tbody><tr>
<th>Feld</th>
<th>Name</th>
<th>Bedeutung
</th></tr>
<tr>
<td>typ</td>
<td>Type</td>
<td>Beschreibt den <a href="Internet_Assigned_Numbers_Authority" title="Internet Assigned Numbers Authority">IANA</a>-<a href="Internet_Media_Type" title="Internet Media Type">Medientyp</a> des Tokens. Dieser Wert ist immer <code>JWT</code>, um den Medientyp <code>application/jwt</code> zu beschreiben.
</td></tr>
<tr>
<td>cty</td>
<td>Content Type</td>
<td>Dieses Feld wird benötigt, wenn das JWT ein anderes JWT als Payload enthält. In diesem Fall wird es auf <code>JWT</code> gesetzt. Andernfalls sollte dieses Feld weggelassen werden.
</td></tr>
<tr>
<td>alg</td>
<td>Algorithm
</td>
<td>Beschreibt, welche Signaturmethode zum Einsatz kommt. Als Signaturmethode kommt üblicherweise <a href="Keyed-Hash_Message_Authentication_Code" class="mw-redirect" title="Keyed-Hash Message Authentication Code">HMAC</a> mit <a href="SHA-256" class="mw-redirect" title="SHA-256">SHA-256</a> (<code>HS256</code>) oder <a href="RSA-Kryptosystem" title="RSA-Kryptosystem">RSA</a> mit SHA-256 (<code>RS256</code>) zum Einsatz. Es ist möglich, keine Signatur zu verwenden (<code>none</code>), was jedoch nicht empfohlen wird. Die möglichen Werte sind durch die JSON Web Encryption (JWE) nach RFC 7516<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> genormt.
</td></tr></tbody></table>
<p>Der Header sieht beispielsweise wie folgt aus:
</p>
<div class="mw-highlight mw-highlight-lang-json mw-content-ltr" dir="ltr"><pre><span></span><span class="p">{</span>
<span class="w"> </span><span class="nt">"alg"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HS256"</span><span class="p">,</span>
<span class="w"> </span><span class="nt">"typ"</span><span class="p">:</span><span class="w"> </span><span class="s2">"JWT"</span>
<span class="p">}</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Payload">Payload</h3></div>
<p>Beim <i>Payload</i> handelt es sich um ein JSON-Element, welches die Claims beschreibt.
</p>
<div class="mw-highlight mw-highlight-lang-json mw-content-ltr" dir="ltr"><pre><span></span><span class="p">{</span>
<span class="w"> </span><span class="nt">"sub"</span><span class="p">:</span><span class="w"> </span><span class="s2">"1234567890"</span><span class="p">,</span>
<span class="w"> </span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"John Doe"</span><span class="p">,</span>
<span class="w"> </span><span class="nt">"admin"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span>
<span class="p">}</span>
</pre></div>
<p>Einige Claims sind hierbei reserviert:
</p>
<table class="wikitable sortable">
<tbody><tr>
<th>Feld
</th>
<th>Name
</th>
<th>Bedeutung
</th></tr>
<tr>
<td>iss</td>
<td>Issuer
</td>
<td>Der Aussteller des Tokens
</td></tr>
<tr>
<td>sub</td>
<td>Subject
</td>
<td>Definiert für welches Subjekt die Claims gelten. Das <code>sub</code>-Feld definiert also für wen oder was die Claims getätigt werden.
</td></tr>
<tr>
<td>aud</td>
<td>Audience</td>
<td>Die Zieldomäne, für die das Token ausgestellt wurde.
</td></tr>
<tr>
<td>exp</td>
<td>Expiration Time
</td>
<td>Das Ablaufdatum des Tokens in <a href="Unixzeit" title="Unixzeit">Unixzeit</a>, also der Anzahl der Sekunden seit <code>1970-01-01T00:00:00Z</code>.
</td></tr>
<tr>
<td>nbf</td>
<td>Not Before
</td>
<td>Die <a href="Unixzeit" title="Unixzeit">Unixzeit</a>, ab der das Token gültig ist.
</td></tr>
<tr>
<td>iat</td>
<td>Issued At
</td>
<td>Die <a href="Unixzeit" title="Unixzeit">Unixzeit</a>, zu der das Token ausgestellt wurde.
</td></tr>
<tr>
<td>jti</td>
<td>JWT ID
</td>
<td>Eine eindeutige <a href="Case-sensitiv" class="mw-redirect" title="Case-sensitiv">case-sensitive</a> Zeichenfolge, welche das Token eindeutig identifiziert. Hiermit kann verhindert werden, dass das Token repliziert wird. Hierbei kann es sich etwa um eine durchgezählte Nummer, einen <a href="Globally_Unique_Identifier" class="mw-redirect" title="Globally Unique Identifier">GUID</a> oder einen <a href="Hashwert" class="mw-redirect" title="Hashwert">Hashwert</a> handeln. Falls der Token-Empfänger von mehreren Ausstellern einen Token empfängt, kann es sein, dass die JWT ID nicht eindeutig ist. Durch die Kombination des Ausstellers (iss) und der JWT ID (jti) kann diese wieder eindeutig werden.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</td></tr></tbody></table>
<p>Des Weiteren sind noch <i>Public Claims</i> durch die IANA definiert.<sup id="cite_ref-public_4-0" class="reference"><a href="#cite_note-public-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> Zudem kann der Aussteller des JWT auch einen <i>Private Claim</i> definierten <a href="Uniform_Resource_Identifier" title="Uniform Resource Identifier">URI</a> verwenden, welche jedoch nicht standardisiert ist. Beispielsweise kann hier eine Ontologie wie <a href="Dublin_Core" title="Dublin Core">Dublin Core</a> oder <a href="FOAF" title="FOAF">FOAF</a> zum Einsatz kommen.
</p>
<div class="mw-heading mw-heading3"><h3 id="Signatur">Signatur</h3></div>
<p>Der Aufbau der Signatur wird durch <b>JSON Web Signature</b> (<b>JWS</b>), einem nach RFC 7515<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> genormten Standard, definiert.
</p><p>Die Signatur wird dadurch erzeugt, dass der Header und der Payload im <a href="Base64" title="Base64">Base64</a> kodierten und durch einen Punkt getrennten Format mit der spezifizierten Hashmethode (z. B. SHA-256) gehasht und verschlüsselt (z. B. HMAC) wird:
</p>
<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">var</span><span class="w"> </span><span class="nx">encodedString</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">base64UrlEncode</span><span class="p">(</span><span class="nx">header</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s2">"."</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">base64UrlEncode</span><span class="p">(</span><span class="nx">payload</span><span class="p">);</span>
<span class="kd">var</span><span class="w"> </span><span class="nx">signature</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">HMACSHA256</span><span class="p">(</span><span class="nx">encodedString</span><span class="p">,</span><span class="w"> </span><span class="nx">secret</span><span class="p">);</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Codierung">Codierung</h3></div>
<p>Header, Payload und Signatur werden jeweils mit Base64-<a href="Uniform_Resource_Locator" title="Uniform Resource Locator">URL</a> kodiert und durch jeweils einen Punkt voneinander getrennt. Ein JWT Token kann wie folgt aussehen:
</p>
<div class="mw-highlight mw-highlight-lang-javascript mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">var</span><span class="w"> </span><span class="nx">jwt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">base64UrlEncode</span><span class="p">(</span><span class="nx">header</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s2">"."</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">base64UrlEncode</span><span class="p">(</span><span class="nx">payload</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s2">"."</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">base64UrlEncode</span><span class="p">(</span><span class="nx">signature</span><span class="p">)</span>
</pre></div>
<dl><dd><code>eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzY290Y2guaW8iLCJleHAiOjEzMDA4MTkzODAsIm5hbWUiOiJDaHJpcyBTZXZpbGxlamEiLCJhZG1pbiI6dHJ1ZX0.03f329983b86f7d9a9f5fef85305880101d5e302afafa20154d094b229f75773</code></dd></dl>
<div class="mw-heading mw-heading2"><h2 id="Übertragung_mit_HTTP"><span id=".C3.9Cbertragung_mit_HTTP"></span>Übertragung mit HTTP</h2></div>
<p>Das JWT kann in der URL oder im <a href="HTTP-Header" class="mw-redirect" title="HTTP-Header">HTTP-Header</a> übertragen werden.
</p><p><code>http://example.com/path?jwt_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…</code>
</p><p>Für die Übertragung im HTTP-Header gibt es zwei Möglichkeiten: Das Authorization-Feld oder das Cookie-Feld.
</p>
<ul><li>im Authorization-Feld als Bearer-Token: <code style="white-space:nowrap">Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…</code></li>
<li>im Cookie-Feld: <code style="white-space:nowrap">Cookie: token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…</code></li></ul>
<p>Die beiden Methoden haben unterschiedliche Vor- und Nachteile:
</p>
<table class="wikitable">
<tbody><tr>
<th>s</th>
<th>Bearer-Token</th>
<th>Cookie
</th></tr>
<tr>
<td>Header
</td>
<td>
<p><code style="white-space:nowrap">Authorization: Bearer <JWT></code>
</p>
</td>
<td>
<p><code>Cookie: token=<JWT></code>
</p>
</td></tr>
<tr>
<td><a href="Cross-Origin_Resource_Sharing" title="Cross-Origin Resource Sharing">CORS</a>
</td>
<td>Funktioniert mit CORS, jedoch ist eine Implementierung in <a href="JavaScript" title="JavaScript">JavaScript</a> nötig.
</td>
<td>Das Cookie wird vom Browser nur für die aktuelle Domäne übermittelt. CORS ist nicht möglich.
</td></tr>
<tr>
<td>Speicherung
</td>
<td>Alle durch JavaScript ansprechbaren Speichermethoden wie <a href="WebStorage" class="mw-redirect" title="WebStorage">WebStorage</a> und der <a href="HTTP-Cookie" title="HTTP-Cookie">Cookie</a>-Store sind möglich.
</td>
<td>Cookie wird im Cookie-Store hinterlegt.
</td></tr>
<tr>
<td>Schutz gegen <a href="Man-in-the-Middle-Angriff" title="Man-in-the-Middle-Angriff">MITM</a>
</td>
<td>Das Vorhandensein von <a href="Transport_Layer_Security" title="Transport Layer Security">TLS</a> muss in JavaScript geprüft werden.
</td>
<td>Wenn das Flag <code>secure</code> am Cookie gesetzt wird, wird TLS erzwungen.
</td></tr>
<tr>
<td>Schutz gegen <a href="Cross-Site-Scripting" title="Cross-Site-Scripting">XSS</a>
</td>
<td>Muss in JavaScript implementiert werden.
</td>
<td>Implizit, wenn das Flag <code>HttpOnly</code> am Cookie gesetzt wird, um den Zugriff mittels <a href="JavaScript" title="JavaScript">JavaScript</a> zu verhindern.
</td></tr>
<tr>
<td>Schutz gegen <a href="Cross-Site-Request-Forgery" title="Cross-Site-Request-Forgery">CSRF</a>
</td>
<td>Implizit, da Header vom Browser im Gegensatz zu Cookies nicht automatisch gesendet werden.
</td>
<td>Muss in JavaScript implementiert werden.
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Implementierungen">Implementierungen</h2></div>
<p>Implementierungen für JWT steht für eine Vielzahl von Plattformen zur Verfügung. Eine aktuelle Liste findet sich beispielsweise auf der Seite JWT.io.<sup id="cite_ref-implementations_6-0" class="reference"><a href="#cite_note-implementations-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Security_Event_Token">Security Event Token</h2></div>
<p>Ein <b>Security Event Token</b> (<b>SET</b>) erweitert den JWT Standard um den <code>events</code> Claim, welcher eine Liste von sicherheitsrelevanten Ereignissen aufzeichnet.<sup id="cite_ref-selfissued_7-0" class="reference"><a href="#cite_note-selfissued-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> Diese Tokens haben einen digitalen <a href="Zeitstempel" title="Zeitstempel">Zeitstempel</a> und unbegrenzte Gültigkeit. Ein SET-Payload kann wie folgt aussehen:
</p>
<div class="mw-highlight mw-highlight-lang-json mw-content-ltr" dir="ltr"><pre><span></span><span class="p">{</span>
<span class="w"> </span><span class="nt">"iss"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://server.example.com"</span><span class="p">,</span>
<span class="w"> </span><span class="nt">"sub"</span><span class="p">:</span><span class="w"> </span><span class="s2">"248289761001"</span><span class="p">,</span>
<span class="w"> </span><span class="nt">"aud"</span><span class="p">:</span><span class="w"> </span><span class="s2">"s6BhdRkqt3"</span><span class="p">,</span>
<span class="w"> </span><span class="nt">"iat"</span><span class="p">:</span><span class="w"> </span><span class="mi">1471566154</span><span class="p">,</span>
<span class="w"> </span><span class="nt">"jti"</span><span class="p">:</span><span class="w"> </span><span class="s2">"bWJq"</span><span class="p">,</span>
<span class="w"> </span><span class="nt">"sid"</span><span class="p">:</span><span class="w"> </span><span class="s2">"08a5019c-17e1-4977-8f42-65a12843ea02"</span><span class="p">,</span>
<span class="w"> </span><span class="nt">"events"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="nt">"http://schemas.openid.net/event/backchannel-logout"</span><span class="p">:</span><span class="w"> </span><span class="p">{}</span>
<span class="w"> </span><span class="p">}</span>
<span class="p">}</span>
</pre></div>
<p>SETs kommen beim <a href="Auditing_(Informationstechnik)" class="mw-redirect" title="Auditing (Informationstechnik)">Auditing</a> zum Einsatz. SETs werden in RFC 8417<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> spezifiziert.
</p>
<div class="mw-heading mw-heading2"><h2 id="Siehe_auch">Siehe auch</h2></div>
<ul><li><a href="Security_Assertion_Markup_Language" title="Security Assertion Markup Language">Security Assertion Markup Language</a> (SAML)</li>
<li><a href="OAuth" title="OAuth">OAuth</a> und <a href="OpenID" title="OpenID">OpenID</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><span class="cite">Bernd Schönbach: <a rel="nofollow" class="external text" href="https://www.heise.de/developer/artikel/Nutzer-Authentifizierung-in-Microservice-Umgebungen-3651632.html"><i>Nutzer-Authentifizierung in Microservice-Umgebungen.</i></a> In: <i>Heise Developer.</i> 9. Juni 2017,<span class="Abrufdatum"> abgerufen am 11. Juni 2017</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AJSON+Web+Token&rft.title=Nutzer-Authentifizierung+in+Microservice-Umgebungen&rft.description=Nutzer-Authentifizierung+in+Microservice-Umgebungen&rft.identifier=https%3A%2F%2Fwww.heise.de%2Fdeveloper%2Fartikel%2FNutzer-Authentifizierung-in-Microservice-Umgebungen-3651632.html&rft.creator=Bernd+Sch%C3%B6nbach&rft.date=2017-06-09"> </span></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <style data-mw-deduplicate="TemplateStyles:r250917974">
/* start https://de.wikipedia.org/ */
.mw-parser-output .dewiki-iconexternal>a{background-position:center right!important;background-repeat:no-repeat!important}body.skin-minerva .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/OOjs_UI_icon_external-link-ltr-progressive.svg")!important;background-size:10px!important;padding-right:13px!important}body.skin-timeless .mw-parser-output .dewiki-iconexternal>a,body.skin-monobook .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/MediaWiki_external_link_icon.svg")!important;padding-right:13px!important}body.skin-vector .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/Link.ernal-small-ltr-progressive.svg")!important;background-size:0.857em!important;padding-right:1em!important}
/* end https://de.wikipedia.org/ */
</style><span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc7519" class="extiw external" title="rfc:7519">7519</a></span></i> – <i><span lang="en">JSON Web Token (JWT)</span></i>. Mai 2015 (englisch).</span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc7516" class="extiw external" title="rfc:7516">7516</a></span></i> – <i><span lang="en">JSON Web Encryption (JWE)</span></i>. Mai 2015 (englisch).</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text">Prabath Siriwardena: <cite style="font-style:italic">Advanced API Security: OAuth 2.0 and Beyond</cite>. Apress, New York 2020, ISBN 978-1-4842-2049-8, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em"> </span>163</span>.<span class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rfr_id=info:sid/de.wikipedia.org:JSON+Web+Token&rft.au=Prabath+Siriwardena&rft.btitle=Advanced+API+Security%3A+OAuth+2.0+and+Beyond&rft.date=2020&rft.genre=book&rft.isbn=9781484220498&rft.pages=163&rft.place=New+York&rft.pub=Apress" style="display:none"> </span></span>
</li>
<li id="cite_note-public-4"><span class="mw-cite-backlink"><a href="#cite_ref-public_4-0">↑</a></span> <span class="reference-text">
<span class="cite"><a rel="nofollow" class="external text" href="https://www.iana.org/assignments/jwt/jwt.xhtml"><i>JSON Web Token Claims.</i></a> 23. Februar 2017,<span class="Abrufdatum"> abgerufen am 14. Mai 2017</span> (Liste der JWT Public Claims).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AJSON+Web+Token&rft.title=JSON+Web+Token+Claims&rft.description=JSON+Web+Token+Claims&rft.identifier=https%3A%2F%2Fwww.iana.org%2Fassignments%2Fjwt%2Fjwt.xhtml&rft.date=2017-02-23"> </span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc7515" class="extiw external" title="rfc:7515">7515</a></span></i> – <i><span lang="en">JSON Web Signature (JWS)</span></i>. Mai 2015 (englisch).</span>
</li>
<li id="cite_note-implementations-6"><span class="mw-cite-backlink"><a href="#cite_ref-implementations_6-0">↑</a></span> <span class="reference-text">
<span class="cite"><a rel="nofollow" class="external text" href="https://jwt.io/"><i>JWT.</i></a> Auth0,<span class="Abrufdatum"> abgerufen am 14. Mai 2017</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AJSON+Web+Token&rft.title=JWT&rft.description=JWT&rft.identifier=https%3A%2F%2Fjwt.io%2F&rft.publisher=Auth0&rft.language=en"> </span></span>
</li>
<li id="cite_note-selfissued-7"><span class="mw-cite-backlink"><a href="#cite_ref-selfissued_7-0">↑</a></span> <span class="reference-text">
<span class="cite"><a rel="nofollow" class="external text" href="https://self-issued.info/?p=1620"><i>Security Event Token (SET) Specification and IETF Security Events Working Group.</i></a><span class="Abrufdatum"> Abgerufen am 14. Mai 2017</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3AJSON+Web+Token&rft.title=Security+Event+Token+%28SET%29+Specification+and+IETF+Security+Events+Working+Group&rft.description=Security+Event+Token+%28SET%29+Specification+and+IETF+Security+Events+Working+Group&rft.identifier=https%3A%2F%2Fself-issued.info%2F%3Fp%3D1620&rft.language=en"> </span></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a></span> <span class="reference-text"><i><a href="Request_for_Comments" title="Request for Comments">RFC</a>: <span class="dewiki-iconexternal"><a href="https://datatracker.ietf.org/doc/html/rfc8417" class="extiw external" title="rfc:8417">8417</a></span></i> – <i><span lang="en">Security Event Token (SET)</span></i>. Juli 2018 (englisch).</span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-04-25" href="https://de.wikipedia.org/wiki/?title=JSON_Web_Token&oldid=255449548">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>